/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package zombieville.GUI;

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.AffineTransform;
import zombieville.engine.Item;
import zombieville.engine.ItemMovel;

/**
 *
 * @author -Gui-
 */
public class ItemMovelGUI extends ItemGUI {

    private Image imagem2;
    private Image imagemAtiva;
    private ItemMovel itemMovel;

    public ItemMovelGUI(ItemMovel itemMovel) {

        super(itemMovel);

        this.itemMovel = itemMovel;

    }

    @Override
    public void desenha(Graphics2D g2) {

        setTransformacao(new AffineTransform());
        getTransformacao().translate(getItem().getPosDesenho().x, getItem().getPosDesenho().y);

        itemMovel.age();

        g2.drawImage(getImagemAtiva(), getTransformacao(), null);
    }

    public void alternaImagens() {

        if (getImagemAtiva().equals(getImagem1())) {

            setImagemAtiva(getImagem2());
        } else {

            setImagemAtiva(getImagem1());
        }
    }

    public void estacionaImagem() {

        setImagemAtiva(getImagem1());
    }

    public void inverteHorizontalmente() {

        getTransformacao().translate(getImagemAtiva().getWidth(getItem().getCenarioPai().getCenarioGui()), 0);
        getTransformacao().scale(-1, 1);
    }

    /**
     * @return the imagem2
     */
    public Image getImagem2() {
        return imagem2;
    }

    /**
     * @param imagem2 the imagem2 to set
     */
    public void setImagem2(Image imagem2) {
        this.imagem2 = imagem2;
    }

    /**
     * @return the imagemAtiva
     */
    public Image getImagemAtiva() {
        return imagemAtiva;
    }

    /**
     * @param imagemAtiva the imagemAtiva to set
     */
    public void setImagemAtiva(Image imagemAtiva) {
        this.imagemAtiva = imagemAtiva;
    }
}
